package org.x.usermod.dto;

import com.mybatisflex.annotation.Column;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Size;
import lombok.Data;
import java.util.Date;

@Data
public class CreateUserDTO {
    private Long id;                    // 用户ID
    @NotBlank(message = "用户名不能为空")
    private String username;            // 用户名
    @NotBlank(message = "密码不能为空")
    @Size(min = 6, max = 20, message = "密码长度必须在6到20之间")
    private String password;            // 加密密码（推荐BCrypt）
    private String email;               // 邮箱
    @NotBlank(message = "手机号不能为空")
    private String mobile;              // 手机号
    private Long deptId;                // 部门ID（关联sys_dept）
    private String realName;            // 真实姓名
    private String userType;            // 用户类型
    private Integer status;             // 状态:0-禁用,1-启用
    private Integer isDelete;           // 逻辑删除:0-未删除,1-已删除
    private String createdBy;           // 创建人
    private String updatedBy;           // 更新人
    private Date createdTime;           // 创建时间
    private Date updatedTime;           // 更新时间
    private Long roleId;             // 角色ID数组
}